package com.hongawen.designmode.创建型.简单工厂模式.设计后.factory;

import com.hongawen.designmode.创建型.简单工厂模式.UnSupportedShapeException;
import com.hongawen.designmode.创建型.简单工厂模式.设计后.concrete.CircleDiagram;
import com.hongawen.designmode.创建型.简单工厂模式.设计后.concrete.RectangleDiagram;
import com.hongawen.designmode.创建型.简单工厂模式.设计后.concrete.TriangleDiagram;
import com.hongawen.designmode.创建型.简单工厂模式.设计后.product.Diagram;

/**
 * @author hongawen
 * <p>
 * 简单工厂用来创建对象，而不是让客户端new对象
 */
public class SimpleFactory {

    public static Diagram createDiagram(String type) throws UnSupportedShapeException {
        Diagram diagram;
        if (type.equals("circle")) {
            diagram = new CircleDiagram();
        } else if (type.equals("rectangle")) {
            diagram = new RectangleDiagram();
        } else if (type.equals("triangle")) {
            diagram = new TriangleDiagram();
        } else {
            throw new UnSupportedShapeException("不支持的图形类型");
        }
        return diagram;
    }

}
